Academic Course Adviser Chrome Extension

Project Planning

This is part 1

Author

Dr. Randy Lin

Project

Academic Course Adviser Chrome Extension

Overview

For your first assignment, you will embark on the development of an Academic Course Adviser Chrome Extension


This tool aims to assist students with academic planning by providing

Objectives

Submission Requirements

Planning Report

Format PDF
Length 1000-1500 words
Naming Convention [StudentLastName]_[StudentFirstName]_PlanningReport.pdf

Content Outline & Submission

Introduction

Provide an overview of the Chrome Extension and its intended impact

As a current student I find, I need to over-rely on course and academic advisors, when in fact, the information I need to make informed decisions could be given to me if it was in a convenient format. Why, do I have to go through pages of courses when I only need to consider the courses that I have pre-requisites for and are in the online format? Why do I have to log on to differing pages on the Algoma website and portal to get my course information, track academic progress, and why do I have to contact someone to get basic insights into my academic performance? All these problems can be solved by a convenient chrome extension. With this extension I can have relevant academic information in one place in my chrome browser.

Your introduction effectively highlights the need for the Chrome Extension by addressing common student challenges and the convenience that such a tool could provide. It sets a clear context for the project by explaining why this extension is necessary and the problems it aims to solve.

Project Scope

Define the boundaries, key features, and functionalities of the Chrome Extension

This is chrome extension project

Key features
‐ personalized course recommendations
‐ track academic progress
‐ offer insights based on academic performance

The extension must be able to provide relevant, accurate, actionable insights in a convenient way from a chrome browser.

Objectives

Detail the specific outcomes your project aims to achieve

○ At the end of the project it is hoped to have at least a semi-working prototype of the extension.
○The project is a success when that extension can be seen as useful from a current Algoma student's perspective.

If that student upon trying and reflecting on the extension wishes that he/her had this tool available during their time at Algoma and would have used the tool if it was available; then this project would have completely succeeded.

Your objectives are specific and measurable, which is excellent. You've outlined what success looks like for the project, making it easier to evaluate progress and outcomes.

Iterative Prototyping Approach

Describe your strategy for employing iterative prototyping,
including plans for incorporating feedback and refining the prototype across iterations

In this project the plan is iterate constantly in most stages of development.
The wire-frames and mockups of the ui will be shared with outside stakeholders.
Students from Algoma university will be selected as the best people for user feedback.
There will be a alpha, beta and final stage with testing and user feedback, before final public release.

Your response partially conforms to the project's assignment requirements regarding the iterative prototyping approach. Let's break it down:
Conformance:

Non-Conformance:

Recommendations for Improvement:

By incorporating these recommendations, you can enhance the clarity and effectiveness of your iterative prototyping approach, ensuring that feedback is systematically incorporated into the development process and leading to a more refined and user-friendly final product.

Incorporating ChatGPT's feedback

In this project the plan is iterate constantly in most stages of development.
The wire-frames and mockups of the ui will be shared with outside stakeholders.
Students from Algoma university will be selected as the best people for user feedback.
There will be a alpha and beta versions and phases with testing and user feedback, before final public release.

In this project here are places where feedback is generated and iterated upon:
★ In the beginning of the project Emily would be conducting user research and thus incorporating this into the project plan
★ It is expected that the wire-frames need to be approved by some stakeholder probably the project lead
★ In the alpha stage selected users will provide feedback that is iterated upon
★ In the beta stage the app would be released in the app store so users would be able to provide feedback also another batch of selected users would be needed hence why there is a task to prepare beta documentation for beta testers

Gantt Chart

Embed screenshots of your Gantt chart within the report.

Ensure the chart includes:

Team Members
  • Lucas Product Manager
  • Emily UI/UX Designer
  • Ben Mobile & Backend Developer

Note: Color Coding

Green: Lucas
Cyan: Emily
Orange: Ben
Red: Everyone

I've determined the critical path is fairly self-evident

Screen Shot below
Probably better to use the link instead

Link doesn't work on free plan

Risk Management

Identify potential risks to the project and outline strategies to mitigate them

The main risk is that none of the developers assigned to this project have experience with developing chrome extensions. Thus, there is a high chance that there will be deadlines run-offs due to developer inexperience.

There is a risk that there are more iterations than are anticipated than that of project plan represented by the Gantt chart. for example in the alpha version the alpha testers could reject the software and thus another alpha design, implement, test cycle would need to be implemented.

To address both of the above risks for this project there has to be flexibility in the deadlines and the release date should be able to be moved to guarantee project completion.

Resource Allocation

Discuss the allocation of resources (human, technological, informational)

For this project we have three people represented by the roles of ui/ux or frontend developer,backend developer and a project lead. Chrome extensions are built using a standard web development stack, so Javascript or Typescript, CSS, HTML as well as some backend tools like node and database such as with Postgress. This project must be completed by April when this semester ends thus there is a hard time limit.

ChatGPT Collaboration

Link to the Chat for this Project with ChatGPT

https://chat.openai.com/share/7de1cda5-f273-4be1-9c4f-45f1bc904a8a

Describe how you utilized ChatGPT for planning and brainstorming
Include examples of engagement and how you assessed and integrated the insights obtained

Method of Collaboration
I use ChatGPT extensively. I used it to brainstorm for the Gantt chart I asked it to generate the 10 tasks which would take a long time to make up myself. Unfortunately, ChatGPT is not good enough, so there was a lot of work to make realistic estimates and generate more logically needed subtasks as for some reason ChatGPT kept the two subtasks per main task. For the Gantt chart ChatGPT was useful to quickly generate a outline, but the outline was not very good and needed to be iterated on by a human to be of any use.

I asked it to check my answers for the various subsection of this project. Some of which I displayed. As can be clearly seen ChatGPT is mostly simply approving of what was written and didn't give any useful feedback beyond that.

Also ChatGPT did not give good advice for technology. It was prompted that Mermaid JS was not a good Gantt charting tool as it could not show dependencies but when asked in another prompt to generate tasks for the Gantt chart it responded in Mermaid JS format.

All in all, ChatGPT is good at generating some very basic plan outline to start the planning process, but it is not very good at anything else and in the time it takes to prompt, a better plan could be generated by human creativity alone. Based on the experience of using ChatGPT; ChatGPT role, is probably best as a english language model for those whose english is not the best.

Verification of ChatGPT's Input
For the Gantt chart prompt I checked Mermaid's documentation to confirm that Mermaid can not show task dependencies. This is unfortunate as if I am already going through the documentation for Mermaid then there is no point in prompting ChatGPT about how to use Mermaid JS. Overall from this example it is better to rely on personal experience as I already knew Mermaid does not have the features needed from my previous experience using the tool. Cross referencing with the documentation is probably better than using ChatGPT as it often "hallucinates" features like in this case so other resources other than just ChatGPT is clearly needed.

Integration and Refinement
ChatGPT is good for iteration as it remembers the previous prompts, so once you give the project outline it will remember this for the other steps so it could incorporate the assignment requirements in the plan and design phases for example. It is also good at finding mistakes it will nudge the prompter if it sees the sections that are not filled and could recommend refinements. As it did for the Iterative Prototyping Approach section which I incorporated the feedback so that I specifically mentions where in the plan feedback is generated and iterated upon.

Conclusion
Me personally I was more annoyed at using ChatGPT, as my english is good and leveraging my own words and knowledge will usually be easier and faster than prompting. That said, there are areas where ChatGPT could be useful. For generating large amounts of tedious content, like the tasks, the speed at which can save the user a lot of time. It is also a good way to get feedback, although in this case it was only for when there needed to be more content. It was also very frustrating that for diagrams like the Gantt chart, being text only, there was no use possible. The time it takes to verify the information that ChatGPT generates is a major problem and with the example of Mermaid JS prompt following that advice would have been disastrous for this project.

Finally in a example that demonstrates all the discussion so far; I quickly checked what the technology stack for Chrome extensions are, from a stack-overflow answer; I realized that it is just a typical web development stack which I am familiar with. The fact that my instinct is not to ask ChatGpt on this simple question is indicative of the use of ChatGPT in general in my honest opinion. All in all, although ChatGPT is a amazing technical achievement, it would not be able to this assignment on its own and it is still up to humans and their creativity to do the vast majority of the work in software development.